<?php namespace Admin\Controller; 
use Common\Model\Category;

//测试控制器
class CategoryController extends CommonController{
//	成员属性
	private $db;
	//构造函数
	public function __init(){
//		实例化这个类
		$this->db=new Category;
//		继承父级的构造方法
		parent::__init();
	}
	
// 	跳转
	public function add(){
//		判断是不是POST传输
		if(IS_POST){
//		调用这个类里面方法	
		$result=$this->db->store();
//		因为是ajax发送的请求，这里返回数据需要是ajax要求的数据类型
		if(!$result){
//			status是返回状态是否成功
			echo json_encode(array('status'=>FALSE,'message'=>'添加失败'));
			die;		
		}else{
			echo json_encode(array('status'=>TRUE,'message'=>'添加成功'));
			die;
		}
		}
		
//		载入模板
		View::make();
	}
	
//	跳转显示分类列表
	public function index(){
//		输出数据
//		$data=$this->db->get();
//		进行排序升序
		$data=$this->db->orderBy('csort','DESC')->get();
//		树枝状显示
//		$data是这组数据，cname是按这个这段名，字段名cid，pid对应的父级icd
		$data=Data::tree($data,'cname','cid','pid');
//		var_dump($data);die;
//		分配数据
		View::with('data',$data);
//		载入模板
		View::make();
	}
	
//	添加子类
	public function addSon(){
//		判断是不是post提交
		if(IS_POST){
//			调取这个类里面的方法进行自动验证
			$result=$this->db->store();
//			因为这是Ajax发送的请求，这里返回的数据是Ajax要求的类型json_encode()
			if(!$result){
//				返回状态status是否成功
				echo json_encode(array('status'=>FALSE,'message'=>'添加失败'));
				die;
			}else{
				echo json_encode(array('status'=>TRUE,'message'=>'添加成功'));
				die;
			}
		}
//		获取页面GET传输过来
		$cid=$_GET['cid'];
//		获得数据库表中cid与$cid相等的一条数据
		$fatherData=$this->db->where('cid',$cid)->find();
//		分配数据，到添加子类页面上
		View::with('fatherData',$fatherData);
//		跳转页面
		View::make();
	}
	
//	编辑方法
	public function edit(){
//		判断是不是POST传输
		if(IS_POST){
//			调用这个类里面的方法
			$result=$this->db->edit();
//			因为是ajax发送的请求，这里返回数据需要是ajax要求的数据类型
			if(!$result){
//				返回状态status是否成功
				echo json_encode(array('status'=>FALSE,'message'=>'添加失败'));
				die;
			}else{
				echo json_encode(array('status'=>TRUE,'message'=>'修改成功'));
				die;
			}
		}
//		获取编辑页面GET过来的数据
		$cid=$_GET['cid'];
//		p($cid);die;
//		获取原来的数据'cid'=$cid
		$oldData=$this->db->where('cid',$cid)->find();
//		进行分配数据到edit页面调用
		View::with('oldData',$oldData);
//		获取不包括自己和子级的分类
		$data=$this->db->get();
//		进行到这个类里面的方法传参数
		$cateData=$this->db->getFdata($data,$cid);
//		z再次进行分配数据
		View::with('cateData',$cateData);
//		载入模板
		View::make();
	}
	
	public function del(){
//		获取GET传输的cid
		$cid=Q('get.cid',0,'intval');
//		调用这个类里面的删除方法
		$result=$this->db->del($cid);
//		判断是否删除成功
		if(!$result){
			View::error('删除失败');
		}else{
			View::success('删除成功');
		}
		
	}
}



























